The operation of a global positioning system (GPS) receiver is predicated on the receiver having a precise value for GPS time; without such a precise value, the ranges (from the receiver to one or more of the GPS satellites) computed by the receiver are inaccurate, since they are determined simply as the difference between the time of transmission and time of receipt multiplied by the speed of light. GPS navigation therefore relies on all elements of GPS (including both satellites and GPS earthbound receivers) having a clock synchronized to GPS system time, which is an approximate version of so-called coordinated universal time (UTC). GPS (more specifically, the GPS ground monitoring network) disseminates corrections to each satellite (which uses a high accuracy local clock) to account for the bias and offset of the satellite clock compared to GPS system time, and the satellites provide these corrections in the navigation message they each broadcast; therefore all satellites are synchronized. A GPS receiver, on the other hand, determines the offset of its local clock as part of the solution of the GPS receiver position. In doing so, however, to the extent that the GPS local clock is significantly out of synchronization, the calculation of the GPS receiver position is prolonged. Therefore, it is advantageous, in general, to provide a means of synchronizing a GPS receiver clock to GPS system time.
In sufficiently weak GPS signal conditions, a GPS receiver cannot determine GPS time unassisted. In such conditions, either the exact GPS time has to be recovered to carry out positioning, or positioning must stop. To avoid having to halt positioning, time recovery must be assisted, and there are many ways to assist a GPS receiver in carrying out time recovery, one being to deliver the exact GPS time from a cellular network, such as a GSM network.
Unfortunately, a standard GSM network is not synchronized to any universal time reference, since cellular communication is not per se a navigation tool and therefore there is no need for a universal synchronized time in providing cellular communications. The only time synchronization that is needed is time slot synchronization, where a mobile station synchronizes itself to a base station schedule in order to keep its own transmission in its assigned time slot and to pick up the messages from the base station intended for the mobile station. Such synchronization is therefore (and need only be) relative (between a mobile station and a base station) as opposed to universal. To enable deriving a universal time from such a cellular network, new equipment and new messages are needed.
There is a device that provides a GPS/GSM timing relationship (mapping); it is called a Location Measurement Unit (LMU); an LMU can be thought of as a specialized GPS receiver located at a cellular base station, a GPS receiver adapted to time-stamp with GPS system time communication signal bursts to mobile stations. An LMU time-stamps with GPS time the communication signal bursts from base stations. An LMU provides to a GPS receiver (a GPS receiver configured to make use of the LMU provided information) the help needed in weak signal conditions in constructing GPS time (i.e. in synchronizing with GPS system time). The LMU provides a so-called reference time information element, in which it indicates which GSM signal frame, time slot and bit are to be used as a time reference point, according to which for example a mobile station can remove the GSM system delay, and so recover exact GPS time.
For typical GPS receiver positioning accuracy, GPS time must be known to within ˜10 μs in the receiver. Such accuracy is difficult to achieve using an LMU-based system for time synchronization according to the prior art. According to the prior art, a GPS receiver is adapted to make use of the LMU assistance by including a cellular component that responds to the LMU message (including picking up the actual trigger in the indicated signal frame, time slot, and bit) and a GPS component that needs the time synchronization information (see FIG. 1). The two components communicate via a software connectivity channel. There are, however, significant random delays in communicating messages over a software connectivity channel, i.e. internal delays arising because of use of the software connectivity channel for various other tasks besides only providing LMU time synchronization information. (Random delays occur inside buses used by a GPS receiver, buses where messages are transmitted from one software server to another using a dedicated software messaging architecture. Such delays can be tens of milliseconds in duration.)
What is needed is a way of providing LMU time synchronization information (or time synchronization information derived from any other aspect of a cellular communication signal) to the component of a GPS receiver that needs the time synchronization information in a way that avoids any significant variable internal delays.